淺談 檔案格式


Posted by krebikshaw on 2020-06-13

前言

問各位一個簡單的問題:下面這張圖裡面顯示的 內容 ,是純文字還是圖片呢?

你可能會想:這是什麼蠢問題?蠟筆小新都知道這個是文字啊!

其實這個問題只是想告訴你!

內容是一回事
如何解讀是一回事

你可以換個角度看看

  • 下面這段文字
  • 如果你眼睛亮一點,你就會發現這是一首藏頭詩!
    橫著看,直著看其實會看到不同的東西。

如何唸出文字?

回到這個範例,如果我們在電話裡跟朋友唸出下面這段文字

  • 你的朋友會聽懂你唸的內容,但他不會知道第一行字是大寫跟粗體字
  • 也不會知道最後兩行是條列式
除非你這樣唸給他聽:第一行 大寫粗體的 我是圖片還文字?。第二行..........。

也就是說,文字要呈現成什麼樣子,是要看你如何去解讀他!

換個例子看看

這是一份 PDF 檔案

但當我們用文字編輯器來打開它的時候

你會發現它是由亂碼所組成的!

人類理解文字

假設你是一個知名全球的大明星,全世界的粉絲都會寄信給你。你想打開這些信看看粉絲們寫些什麼,但是你不會那麼多國家的語言啊,你會怎麼做?
(以其中一封信為例)

  1. 看看這封信是哪個國家寄來的?(假設是西班牙),那我們就知道這封信寫的是 西班牙文
  2. 那你得去找一本西班牙文的字典,才能 解讀 裡面的內容。
  3. 解讀 後你會知道粉絲要跟你說什麼,(假設粉絲想請你拍一段影片祝福他生日快樂)
  4. 你就會拍好影片 呈現 給他看。

電腦的理解

對我們來說是亂碼的東西,反而是電腦看的懂的東西!
當我們的檔案是 .pdf檔,電腦就會知道要用 PDF 的 解讀 方式解讀它,把內容 呈現 給你看。
當我們的檔案是 .html檔,電腦就會用 HTML 的方式去 解讀 它,並呈現給你看。

用生活化的例子來說明

(人類)=> 我們要讀國外的粉絲寄給我們的信,我們要先看看是 哪個國家 寄來的,
(電腦)=> 電腦在讀取資料時,會判斷檔案的 副檔名 是什麼,

(人類)=> 接下來我們要用那個國家語言的字典來 翻譯 裡面的文字
(電腦)=> 電腦會依據那個檔案個格式,去 解讀 裡面的文字

  • 這邊指的文字就是 純文字

(人類)=> 我們翻譯完後就會知道內容要講什麼
(電腦)=> 電腦解讀完後就會知道裡面的 指令碼 是什麼

(人類)=> 我們可以去完成粉絲想做的事情
(電腦)=> 電腦就會 呈現 指令碼的內容給我們看

所以 檔案格式 決定了電腦的解讀方式

回答一開始的問題

所以這段文字其實最原始是長這個樣子的:

公布文章開頭問題的答案:

答案是:裡面的內容其實是圖片,而不是文字!
之所以是圖片,是由於電腦把 純文字 的指令碼,變成粗體並放大呈現給你看了!
所以你看到的是由 純文字,被電腦判讀為 html 的指令碼,電腦再依照指令碼的內容轉換後呈現出來的 圖片

弄的我好亂

所以我們看到長得像文字的內容都不是文字嗎?

  • 應該這樣子說:
    用人的方式解讀,它們就是文字沒有錯。
    但是我們在使用電腦時,為了要讓電腦讀得懂,所以電腦會把文字依照解讀方式判讀為程式碼,並做出相對應的事情。

回到重點

  • 我們打的 純文字,電腦會依據 檔案格式 來決定用什麼方式解讀,依照解讀的方式不同,電腦就會判斷這些文字的 程式碼,並依照 程式碼 的內容,做出它要做的事情。
如果檔案格式是 .doc,電腦會用 Word 的方式解讀
如果檔案格式是 .heml,電腦會用 HTML 的方式解讀

這樣你懂了嗎?

純文字 => 判斷是什麼檔案 => 使用對應的解讀方式 => 依照解讀出的程式碼做出反應


#檔案格式







Related Posts

Deep Learning on 3D object detection paper 閱讀路徑

Deep Learning on 3D object detection paper 閱讀路徑

【MySQL】透過 FIELD 函式自訂排序

【MySQL】透過 FIELD 函式自訂排序

XSS lab (1)

XSS lab (1)


Comments